1. Field of the Invention
The present invention relates to performing arithmetic operations on interval operands within a computer system. More specifically, the present invention relates to a method and an apparatus for solving problems having interval parameters, such as global optimization problems or problems that involve solving systems of nonlinear equations.
2. Related Art
Rapid advances in computing technology make it possible to perform trillions of computational operations each second. This tremendous computational speed makes it practical to perform computationally intensive tasks as diverse as predicting the weather and optimizing the design of an aircraft engine. Such computational tasks are typically performed using machine-representable floating-point numbers to approximate values of real numbers. (For example, see the Institute of Electrical and Electronics Engineers (IEEE) standard 754 for binary floating-point numbers.)
In spite of their limitations, floating-point numbers are generally used to perform most computational tasks.
One limitation is that machine-representable floating-point numbers have a fixed-size word length, which limits their accuracy. Note that a floating-point number is typically encoded using a 32, 64 or 128-bit binary number, which means that there are only 223, 264 or 2128 possible symbols that can be used to specify a floating-point number. Hence, most real number values can only be approximated with a corresponding floating-point number. This creates estimation errors that can be magnified through even a few computations, thereby adversely affecting the accuracy of a computation.
A related limitation is that floating-point numbers contain no information about their accuracy. Most measured data values include some amount of error that arises from the measurement process itself. This error can often be quantified as an accuracy parameter, which can subsequently be used to determine the accuracy of a computation. However, floating-point numbers are not designed to keep track of accuracy information, whether from input data measurement errors or machine rounding errors. Hence, it is not possible to determine the accuracy of a computation by merely examining the floating-point number that results from the computation.
Interval arithmetic has been developed to solve the above-described problems. Interval arithmetic represents numbers as intervals specified by a first (left) endpoint and a second (right) endpoint. For example, the interval [a, b], where a<b, is a closed, bounded subset of the real numbers, R, which includes a and b as well as all real numbers between a and b. Arithmetic operations on interval operands (interval arithmetic) are defined so that interval results always contain the entire set of possible values. The result is a mathematical system for rigorously bounding numerical errors from all sources, including measurement data errors, machine rounding errors and their interactions. (Note that the first endpoint normally contains the “infimum”, which is the largest number that is less than or equal to each of a given set of real numbers. Similarly, the second endpoint normally contains the “supremum”, which is the smallest number that is greater than or equal to each of the given set of real numbers.)
In some problems, there may be uncertainty about the values of certain parameters. For example, there may be measured quantities of uncertain accuracy. A function ƒ may involve numbers that cannot be exactly expressed in the computer's number system. For example, the function ƒ may be expressed in terms of transcendental numbers such as π.
Any such parameters or numbers can be expressed as intervals that contain their true values and whose endpoints are machine-representable numbers. The “value” of the function ƒ(x) involving such intervals is itself an interval for any x. We must then ask: what do we mean by a solution to a given problem that involves or depends on non-degenerate interval parameters.
To answer this question it is sufficient to consider a particular problem involving a parameter p. Other problems are similar. Assume we know that p is contained in an interval P. We can write the problem as ƒ(x, P)=0. We define the solution to this problem to be the set S={x: ƒ(x, p)=0} for all p ε P.
For a given value of p, we expect the function ƒ to have a set of distinct zeros. As p varies over P, a given zero, say x*, “smears out” over an interval, say X*. Although the zeros of ƒ(x, P) are generally distinct for a single value of p, the smeared zeros can overlap. Furthermore, if P is a wide interval, there can be considerable uncertainty as the where the boundary of the solution set lies.
What is needed is a method and an apparatus for accurately bounding the solution set of a problem involving one or more interval parameters p.